package org.paradise.dms.services;

import java.util.List;

import org.paradise.dms.pojo.Apartment;
import org.springframework.stereotype.Service;

import com.dheaven.framework.dao.DaoException;

/**
 * 
 * Description:主要是针对公寓的图标和列表显示以及CRUD操作的接口
 * 
 * Copyright (c) 2008-2009 paraDise sTudio(DT). All Rights Reserved.
 * 
 * @version 1.0 2009-3-18 下午12:42:42 李双江（paradise.lsj@gmail.com）created
 */
@Service
public interface ApartmentService {
	/**
	 * 
	 * Description:返回所有公寓列表
	 * 
	 * @Version1.0 2009-3-18 下午12:45:17 李双江（paradise.lsj@gmail.com）创建
	 * @return
	 */
	public List<Apartment> listAllApartment();

	/**
	 * 
	 * Description: 更新一条公寓信息
	 * 
	 * @Version1.0 2009-3-30 上午11:52:04 李双江（paradise.lsj@gmail.com）创建
	 * @param apartment
	 * @return
	 */
	public String updateApartment(Apartment apartment);

	/**
	 * 
	 * Description:删除一条公寓记录（对应楼宇管理项）
	 * 
	 * @Version1.0 2009-3-18 下午12:45:50 李双江（paradise.lsj@gmail.com）创建
	 * @param apartmentid
	 * @return
	 */
	public String deleteApartmentByApartmentID(String apartmentid);

	/**
	 * 
	 * Description:通过公寓ID查询指定公寓情况
	 * 
	 * @Version1.0 2009-3-18 下午12:46:28 李双江（paradise.lsj@gmail.com）创建
	 * @Version1.1 2009-4-19 17：32 李双江 修改给通过id查询公寓
	 * @param apartmentid
	 * @return
	 * @throws DaoException
	 */
	/*
	public List<Apartment> findApartmentByID(String apartmentid) throws DaoException;
	*/
	/**
	 * 
	 * Description:查看指定公寓id入住人数和可住人数
	 * 
	 * @Version1.0 2009-3-20 上午11:30:52 李双江（paradise.lsj@gmail.com）创建
	 * @param apartmentid
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public List getTotalRoomsAndAvailRoomsByApartmentID(String[] apartmentid);

	@SuppressWarnings("unchecked")
	public List getAllApartInfo();

	/**
	 * 
	 * Description: 分页显示所有的宿舍列表
	 * 
	 * @Version1.0 2009-3-30 上午01:23:42 李双江（paradise.lsj@gmail.com）创建
	 * @return
	 */
	public List<Apartment> listAllApartmentByPage(int pageSize, int startRow);

	/**
	 * 
	 * Description: 返回公寓总行数
	 * 
	 * @Version1.0 2009-3-30 上午01:39:59 李双江（paradise.lsj@gmail.com）创建
	 * @return
	 */
	public int getAllApartmentRows();

}
